Freecity BBS是基于Firebird BBS 3.0 (edwardc) 的 BBS 系统,运行于浙江大学
飘渺水云间 BBS 站以及浙江大学海纳百川 BBS 站。
帮助
zz自撰写中的 Freecity BBS 文档
Freecity BBS 的祖先和兄弟
神说,要有光,于是有了光;
神说,要灌水,于是有了 BBS。
--kxn
kxn 在《重负载Telnet BBS 系统优化和维护经验谈》一文中,对于 BBS 的历史作了一段简明扼要的介绍,这段文字我相信对于读者了解 BBS 的有相当的帮助。
我们现在提到的 BBS ,通常指的都是 Telnet BBS ,用一个 term 软件连接上,就可以看到文本的界面,比起如今花哨到无以复加的 WWW BBS 们来可谓是简陋到了极点,然而就是这样 的 BBS,无数人每天面对它长达两位数小时还乐在其中,恐怕 UI 设计专家们知道也要气到吐血。 也不时有人发表预言,预言 Telnet BBS 将很快消亡而被更加富有表现力的 WWW BBS 全面取代, 只是年复一年,当年的预言者已经消失不见,BBS 上的用户数目却翻了一番又一番。。。这就是 Telnet BBS 的魅力。
Telnet BBS 系统数目众多,但是从根源找起,大致可以分成两大家族,Firebird BBS 和 Maple BBS,在大陆 Firebird BBS 的变种占据了绝对优势,在台湾地区则是 Maple BBS 的天下,由于 台湾地区计算机发展历史比较长,因此 BBS 的人气也比大陆高,同时上站人数过万的站点有好几 个,不过大陆毕竟有着人口优势,近年来教育网几大 BBS 的人数也迅速增长。下面我们就分别介绍这两大 BBS 家族。首先是在大陆最为流行的 Firebird BBS ,最有名的 SMTH BBS, YTHT BBS, Firebird 2000 三大流派都是由此而来。
很久很久以前,有那么一群大学生,也可能是科研机构的研究员什么的,他们整天在Unix
主机上面打滚,觉得要是能在主机上面做一个论坛样的东西多好,于是他们就写了一个命令行程序,运行这个程序,操作者可以在界面下面留言,为了让多个人同时可以操作这个系统 ,他们把这个 程序设置为系统某个用户的 shell ,每个 telnet 上该主机的用户,只要使用这个用户的用户名和 密码登陆,就可以进行交流。这就是 Internet BBS 的雏形。经过一段时间的发展,这个系统具有 了相当多的交互功能,用户不仅可以留言,还可以互相发送信件,发送信息,看到同时在线的用户等等。
BBS 系统的开发者们为了让更多的人能使用这个系统并完善之,将BBS 系统以
开源协议发布 于网络上面。只要拥有Unix 主机,就可以取得源代码并安装BBS 系统。因此BBS 系统以很快的 速度发展起来。在众多BBS 系统中,某个叫做 Pirate BBS ,经过某些人修改后叫做 Eagle BBS 的 分枝,流传入了台湾地区,交大资讯工程系从他发展出了 Phoenix BBS,Phoenix BBS 是如今大部分中文 Telnet BBS 系统的祖先,然而它的名字却远不如其后辈响亮,在它的基础上由中正资工进 一步修改的 BBS 系统,被赋予了那个大陆 BBS 开发者耳熟能详的名字――Firebird BBS。
应该说, BBS 系统在传入台湾地区时候虽然功能还比较简陋,但是 BBS 系统的基本架构已经定型,比如
多进程模型,
共享内存信息交换,利用系统信号来传递呼叫消息,用文件存储文章 和索引等,这些设计在现在的 BBS 系统中大部分还在沿用,其中不少设计即使现在来看,也是相当标准有效的多进程 Unix 服务器设计。
Telnet BBS 是一种流行于大学和研究机构中的
电子公告牌系统,和时下流行的 Web BBS 系统不同,BBS 的界面采用纯文本方式表现,用户使用终端软件连接 BBS 系统,文本界面在服务器端生成并发送出来,客户端软件仅原样显示文本内容,属于一种
瘦客户机的应用。Telnet BBS(后面除非特殊提到,否则简称BBS)在台湾地区和大陆的教育网地区比较流行,比较 大规模的站点在线人数一般都在万人以上。
--kxn
Freecity BBS 实际上也是 Firebird BBS 的一个分支,这个从 Freecity BBS 的源代码里面可以看到:
src/pure.c
/*
Pirate Bulletin Board System
Copyright (C) 1990, Edward Luke, lush@Athena.EE.MsState.EDU
Eagles Bulletin Board System
Copyright (C) 1992, Raymond Rocker, rocker@rock.b11.ingr.com
Guy Vega, gtvega@seabass.st.usm.edu
Dominic Tynes, dbtynes@seabass.st.usm.edu
Firebird Bulletin Board System
Copyright (C) 1996, Hsien-Tsung Chang, Smallpig.bbs@bbs.cs.ccu.edu.tw
Peng Piaw Foong, ppfoong@csie.ncu.edu.tw
Firebird Bulletin Board System -- Version 3.0 series
Copyright (C) 1999, Peng Piaw Foong, Harimau.bbs@MSIA.pine.ncu.edu.tw
Edward Ping-Da Chuang, edwardc.bbs@bbs.seed.net.tw
Freecity Bulletin Board System
Copyright (C) 2007, freecity.cn
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*/
代码里面保留了 Firebird BBS 的版权声明,由此可见,Freecity BBS 的祖先也是 Firebird BBS。
对于 Freecity BBS 可考的来源而言,应该是从原浙江大学西子涣纱城 BBS 站过来的。由于无法联系到西子涣纱城的站长,所以无法得知从 Firebird BBS 到西子涣纱城所采用的那套代码中间经历了如何的波折。
从 Freecity BBS 的
源文件中可以找到一些残留的痕迹,表明了 Freecity BBS 从 Firebird BBS 主干分支的时间。底下列出的是 Freecity BBS 源代码包中 ChangeLog 的头部。
ChangeLog
This file contains a list, in reverse chronologocal order.
20000726-SNAP
* 修正 0220/0311 版无法在 Solaris 下执行的问题
* 修正 innbbsd 的问题, 并把原来的 bbsnnrp antispam patch 移除,
原先的 black.list 已经取消, 如欲继续使用可在 util/innbbsd/Makefile
的 OPT = 後加上 -DANTISPAM
* 预设使用 NoCeM-innbbsd 0.66 版, 并加入目前常见的 Issuer, 且预
设接受其 NCM Notify
* 修正被版主deny掉的user依然可以由其他版或自己信箱中把信弄到版上
(by Ghostrider)
* 暂时移除呼叫逾时机制
* 修改了 mail2bbs mailing list module 的部分功能, 改用 maillist
这个账号来接发信件至 mailing list
* 修正在空精华区目录按 Ctrl+C 想要转贴文章时造成断线的错误
* 修正 horoscope/birthday 两个程式在某些平台下会有 SIGSEG 的错误
* 将 in.zbbsd 与 telnetd 从 source tree 中移除
* 文件及范例的修正
由于 Freecity BBS 的更新日志改由在文档中体现,所以底下的 20000726 应该就是 Freecity BBS 最后一次跟 Firebird BBS 主分支更新的时间。由此可见,Freecity BBS 从 Firebird BBS 主干中分支的时间,应该就是在 2000 年前后。
根据这个记录和源代码中在 Freecity BBS 之前的最后一段版权声明,可以进一步确定:Freecity BBS 的源,是由台湾中正大学资讯工程学系 Edward Ping-Da Chuang 所编写的 Firebird BBS 3.0 。而 Firebird BBS 3.0 的发布标志着 BBS 黄金时代的开始(BBS 的“黄金时代”这一说法来自 所著的《BBS 之前世今生》)。而它的后裔还有 Firebird 2000 / Lily BBS。
BBS 黄金时代开始的标志性事件,除了这个里程碑式的 Firebird BBS 3.0 的发布以外,还有另外一个鼎鼎有名的 Firebird 分支的发布,这就是由清华大学计算机系 KCN 所编写的 Firebird BBS 3.0K 。 而后者成为了中国大陆绝大部分 BBS 分支的祖先,其子嗣中包含了著名的 SMTH BBS,YTHT BBS。
而 Firebird BBS 3.0 和 Firebird BBS 3.0K 的共同祖先就是 Firebird BBS 2.0。
由此可见,Freecity BBS 是由 Firebird BBS 3.0 为源头发展的一支相对独立的分支,它和它的近亲——LILY BBS——和远亲——YTHT BBS、SMTH BBS——有着共同的祖先,这就是 Firebird BBS 2.0 。而不同于它的兄弟姐妹们,Freecity BBS 由于历史原因一直未能实现正式发布,导致 Freecity BBS 的代码一直仅仅在浙江大学
飘渺水云间 BBS 站运行,成为了中国大陆 Firebird BBS 家族少见的独根苗。
Freecity BBS 的代码从独立发展开始,就一直是处于自我维护和发展的状态。不过由于国内 BBS 的大发展和转信的普遍开通,实际上 Freecity BBS 的发展也或多或少得吸收了其它分支的一些开发经验,尽管 Freecity BBS 的独立发展不是一个绝对的概念,但是 Freecity BBS 相对于其祖先和兄弟姐妹的变化是在
飘渺水云间 BBS 站历届技术人员的修改下完成的。这也是 Freecity BBS 相对于它的家族中其它兄弟姐妹而言具有自己独特的性格的一个原因。
此文撰写于 Freecity BBS 正式发布之前,谨以此纪念中国大陆 BBS 的黄金时代和 Freecity BBS 以及其它 BBS 发展的辉煌历程。